IEEE 802.1x is an IEEE standard for port-based Network Access Control and provides authentication to devices attached to a LAN port. This standard can work in connection with wired or wireless LAN networks and provides authentication for establishing point-to-point connections or preventing access from a particular port if authentication fails.
FIG. 1 illustrates a typical 802.1x environment 100. Environment 100 can include various computing devices such as a printer 102, computer 104, and/or any other type of computing device 106. Generally, computing devices such as computing device 106 include one or more processors, one or more computer readable media, and one or more applications than are executable by the processor(s). Environment 100 also includes an authenticator 108 having a plurality of ports 110 through which a connection to various computing devices can be made.
Environment 100 also includes an authentication server 112 (e.g., a RADIUS server) and various network-accessible resources 114. The authenticator 108, authentication server 112, and network-accessible resources 114 are communicatively linked via a suitable network diagrammatically represented at 116.
Generally, computing devices wishing to access network-accessible resources 114 are authenticated by the authentication server 112. The computing devices typically include what is known as supplicant software which enables communication with authenticator 108 and authentication server 112. There are different ways for a computing device (or supplicant) to be authenticated by the authentication server 112. A common, but not exclusive, way for authentication is as follows. When a new supplicant is detected, as by connecting with a port 110 on authenticator 108, the authenticator 108 sends an Extensible Authentication Protocol (EAP) Request/Identity packet to the supplicant. At this point, the port 110 to which the supplicant is connected is in an “unauthorized” state. When the supplicant receives the EAP Request/Identity packet, the supplicant prepares and returns an EAP Response packet to the authenticator 108. This EAP Response packet or other subsequent communication with the authenticator 108 and/or authentication server 112 can include a set of credentials, e.g., a user name and password (or other information) for the associated supplicant. In many cases, the user name and password are the Media Access Control (MAC) address of the supplicant.
When the authenticator 108 receives the EAP Response packet, the authenticator 108 forwards the packet to the authentication server 112. The authentication server and the supplicant can then carry out a challenge/response dialog until the server decides to allow or deny the supplicant access. For example, the authentication server 112 can maintain a table that provides a mapping between user names and passwords. The authentication server 112 then looks up the user name and password in the table and can accept or reject the authentication attempt. If the authentication attempt is accepted, the authenticator 108 will set the associated port 110 to an “authorized” mode and allow normal traffic. Normal traffic can include allowing the supplicant access to the network-accessible resources 114.
One problem with the above-discussed authentication process pertains to the global nature by which a supplicant is authenticated. Specifically, by globally authenticating a supplicant based on the supplicant's MAC address (and/or any other information provided), the supplicant can access network-accessible resources from any authorized port.